Verifying Compensating Transactions
نویسندگان
چکیده
We study the safety verification problem for business-process orchestration languages with respect to regular properties. Business transactions involve long-running distributed interactions between multiple partners which must appear as a single atomic action. This illusion of atomicity is maintained through programmer-specified compensation actions that get run to undo previous actions when certain parts of the transaction fail to finish. Programming languages for business process orchestration provide constructs for declaring compensation actions, which are co-ordinated by the run time system to provide the desired transactional semantics. The safety verification problem for business processes asks, given a program with programmer specified compensation actions and a regular language specifying “good” behaviors of the system, whether all observable action sequences produced by the program are contained in the set of good behaviors. We show that the usual trace-based semantics for business process languages leads to an undecidable verification problem, but a tree-based semantics gives an algorithm that runs in time exponential in the size of the business process. Our constructions translate programs with compensations to tree automata with one memory.
منابع مشابه
Compensation methods to support cooperative applications: A case study in automated verification of schema requirements for an advanced transaction model
Compensation plays an important role in advanced transaction models, cooperative work and workflow systems. A schema designer is typically required to supply for each transaction T another transaction T −1 to semantically undo the effects of T . Little attention has been paid to the verification of the desirable properties of such operations, however. This paper demonstrates the use of a higher...
متن کاملA Formal Approach to Recovery by Compensating Transactions
Compensating transactions are intended to handle situations where it is required to undo either committed or uncommitted transactions that affect other transactions, without resorting to cascading aborts. This stands in sharp contrast to the standard approach to transaction recovery where cascading aborts are avoided by requiring transactions to read only committed data, and where committed tra...
متن کاملA Reservation-based Extended Transaction Protocol for Coordination of Web Services
Web services can be used to automate business activities that span multiple enterprises over the Internet. Such business activities require a coordination protocol to reach consistent results among the participants in the business activity. In the current state of the art, either classical distributed transactions or extended transactions with compensating transactions are used. However, classi...
متن کاملModelling and Verification of Compensating Transactions using the Spin Tool
Complex transactions are part of the most commonly used systems. Substantial part of such transactions are business transactions. Usually, they coordinate complex interaction among multiple systems, so called Long Running Transactions (LRT). Well known roll-back mechanism does not suffice to handle faults in LRTs, therefore compensation mechanisms are introduced. However, introduced structures ...
متن کاملExecutable Semantics for Compensating CSP
Compensation is an error recovery mechanism for long-running transactions. Compensating CSP is a variant of the CSP process algebra with constructs for orchestration of compensations. We present a simple operational semantics for Compensating CSP and outline an encoding of this semantics in Prolog. This provides a basis for implementation and model checking of the language.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007